<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>keysmngr: XML Security Library Reference Manual</title>
<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
<link rel="home" href="index.html" title="XML Security Library Reference Manual">
<link rel="up" href="xmlsec-ref.html" title="XML Security Core Library API Reference.">
<link rel="prev" href="xmlsec-keys.html" title="keys">
<link rel="next" href="xmlsec-list.html" title="list">
<meta name="generator" content="GTK-Doc V1.27 (XML mode)">
<link rel="stylesheet" href="style.css" type="text/css">
<style type="text/css">
table.CALSTABLE > tbody > tr:nth-child(1) > td:nth-child(1) {
    width: 20em;
}
.synopsis, .classsynopsis {
    background: #eeeeee;
    border: solid 1px #aaaaaa;
}
.programlisting {
    background: #eeeeee;
    border: solid 1px #000000;
}
.navigation {
    background: #eeeeee;
    border: solid 1px #000000;
}
.navigation a {
    color: initial;
}
.navigation a:visited {
    color: initial;
}
</style>
<style type="text/css">
table.CALSTABLE > tbody > tr:nth-child(1) > td:nth-child(1) {
    width: 20em;
}
.synopsis, .classsynopsis {
    background: #eeeeee;
    border: solid 1px #aaaaaa;
}
.programlisting {
    background: #eeeeee;
    border: solid 1px #000000;
}
.navigation {
    background: #eeeeee;
    border: solid 1px #000000;
}
.navigation a {
    color: initial;
}
.navigation a:visited {
    color: initial;
}
</style>
</head>
<body><table width="100%" valign="top"><tr valign="top">
<td valign="top" align="left" width="210">
<img src="../images/logo.gif" alt="XML Security Library" border="0"><p></p>
<ul>
<li><a href="../index.html">Home</a></li>
<li><a href="../download.html">Download</a></li>
<li><a href="../news.html">News</a></li>
<li><a href="../documentation.html">Documentation</a></li>
<ul>
<li><a href="../faq.html">FAQ</a></li>
<li><a href="../api/xmlsec-notes.html">Tutorial</a></li>
<li><a href="../api/xmlsec-reference.html">API reference</a></li>
<li><a href="../api/xmlsec-examples.html">Examples</a></li>
</ul>
<li><a href="../xmldsig.html">XML Digital Signature</a></li>
<ul><li><a href="http://www.aleksey.com/xmlsec/xmldsig-verifier.html">Online Verifier</a></li></ul>
<li><a href="../xmlenc.html">XML Encryption</a></li>
<li><a href="../c14n.html">XML Canonicalization</a></li>
<li><a href="../bugs.html">Reporting Bugs</a></li>
<li><a href="http://www.aleksey.com/pipermail/xmlsec">Mailing list</a></li>
<li><a href="../related.html">Related</a></li>
<li><a href="../authors.html">Authors</a></li>
</ul>
<table width="100%">
<tr>
<td width="15"></td>
<td><a href="http://xmlsoft.org/"><img src="../images/libxml2-logo.png" alt="LibXML2" border="0"></a></td>
</tr>
<tr>
<td width="15"></td>
<td><a href="http://xmlsoft.org/XSLT"><img src="../images/libxslt-logo.png" alt="LibXSLT" border="0"></a></td>
</tr>
<tr>
<td width="15"></td>
<td><a href="http://www.openssl.org/"><img src="../images/openssl-logo.png" alt="OpenSSL" border="0"></a></td>
</tr>
<!--Links - start--><!--Links - end-->
</table>
</td>
<td valign="top"><table width="100%" valign="top"><tr><td valign="top" align="left" id="xmlsecContent">
<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
<td width="100%" align="left" class="shortcuts">
<a href="#" class="shortcut">Top</a><span id="nav_description">  <span class="dim">|</span> 
                  <a href="#xmlsec-keysmngr.description" class="shortcut">Description</a></span>
</td>
<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
<td><a accesskey="u" href="xmlsec-ref.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
<td><a accesskey="p" href="xmlsec-keys.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
<td><a accesskey="n" href="xmlsec-list.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
</tr></table>
<div class="refentry">
<a name="xmlsec-keysmngr"></a><div class="titlepage"></div>
<div class="refnamediv"><table width="100%"><tr>
<td valign="top">
<h2><span class="refentrytitle"><a name="xmlsec-keysmngr.top_of_page"></a>keysmngr</span></h2>
<p>keysmngr &#8212; Keys manager object functions.</p>
</td>
<td class="gallery_image" valign="top" align="right"></td>
</tr></table></div>
<div class="refsect1">
<a name="xmlsec-keysmngr.stability-level"></a><h2>Stability Level</h2>
<a href="http://foldoc.org/Stable"><span class="acronym">Stable</span></a>, unless otherwise indicated
</div>
<div class="refsect1">
<a name="xmlsec-keysmngr.functions"></a><h2>Functions</h2>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col>
<col>
</colgroup>
<tbody>
<tr>
<td class="function_type">
<a class="link" href="xmlsec-keysmngr.html#xmlSecKeysMngr" title="struct xmlSecKeysMngr"><span class="returnvalue">xmlSecKeysMngrPtr</span></a>
</td>
<td class="function_name">
<a class="link" href="xmlsec-keysmngr.html#xmlSecKeysMngrCreate" title="xmlSecKeysMngrCreate ()">xmlSecKeysMngrCreate</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<font><span class="returnvalue">void</span></font>
</td>
<td class="function_name">
<a class="link" href="xmlsec-keysmngr.html#xmlSecKeysMngrDestroy" title="xmlSecKeysMngrDestroy ()">xmlSecKeysMngrDestroy</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<a class="link" href="xmlsec-keys.html#xmlSecKey" title="struct xmlSecKey"><span class="returnvalue">xmlSecKeyPtr</span></a>
</td>
<td class="function_name">
<a class="link" href="xmlsec-keysmngr.html#xmlSecKeysMngrFindKey" title="xmlSecKeysMngrFindKey ()">xmlSecKeysMngrFindKey</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<font><span class="returnvalue">int</span></font>
</td>
<td class="function_name">
<a class="link" href="xmlsec-keysmngr.html#xmlSecKeysMngrAdoptKeysStore" title="xmlSecKeysMngrAdoptKeysStore ()">xmlSecKeysMngrAdoptKeysStore</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<a class="link" href="xmlsec-keysmngr.html#xmlSecKeyStore" title="struct xmlSecKeyStore"><span class="returnvalue">xmlSecKeyStorePtr</span></a>
</td>
<td class="function_name">
<a class="link" href="xmlsec-keysmngr.html#xmlSecKeysMngrGetKeysStore" title="xmlSecKeysMngrGetKeysStore ()">xmlSecKeysMngrGetKeysStore</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<font><span class="returnvalue">int</span></font>
</td>
<td class="function_name">
<a class="link" href="xmlsec-keysmngr.html#xmlSecKeysMngrAdoptDataStore" title="xmlSecKeysMngrAdoptDataStore ()">xmlSecKeysMngrAdoptDataStore</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<a class="link" href="xmlsec-keysdata.html#xmlSecKeyDataStore" title="struct xmlSecKeyDataStore"><span class="returnvalue">xmlSecKeyDataStorePtr</span></a>
</td>
<td class="function_name">
<a class="link" href="xmlsec-keysmngr.html#xmlSecKeysMngrGetDataStore" title="xmlSecKeysMngrGetDataStore ()">xmlSecKeysMngrGetDataStore</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<a class="link" href="xmlsec-keys.html#xmlSecKey" title="struct xmlSecKey"><span class="returnvalue">xmlSecKeyPtr</span></a>
</td>
<td class="function_name">
<span class="c_punctuation">(</span><a class="link" href="xmlsec-keysmngr.html#xmlSecGetKeyCallback" title="xmlSecGetKeyCallback ()">*xmlSecGetKeyCallback</a><span class="c_punctuation">)</span> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<a class="link" href="xmlsec-keys.html#xmlSecKey" title="struct xmlSecKey"><span class="returnvalue">xmlSecKeyPtr</span></a>
</td>
<td class="function_name">
<a class="link" href="xmlsec-keysmngr.html#xmlSecKeysMngrGetKey" title="xmlSecKeysMngrGetKey ()">xmlSecKeysMngrGetKey</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<a class="link" href="xmlsec-keysmngr.html#xmlSecKeyStore" title="struct xmlSecKeyStore"><span class="returnvalue">xmlSecKeyStorePtr</span></a>
</td>
<td class="function_name">
<a class="link" href="xmlsec-keysmngr.html#xmlSecKeyStoreCreate" title="xmlSecKeyStoreCreate ()">xmlSecKeyStoreCreate</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<font><span class="returnvalue">void</span></font>
</td>
<td class="function_name">
<a class="link" href="xmlsec-keysmngr.html#xmlSecKeyStoreDestroy" title="xmlSecKeyStoreDestroy ()">xmlSecKeyStoreDestroy</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<a class="link" href="xmlsec-keys.html#xmlSecKey" title="struct xmlSecKey"><span class="returnvalue">xmlSecKeyPtr</span></a>
</td>
<td class="function_name">
<a class="link" href="xmlsec-keysmngr.html#xmlSecKeyStoreFindKey" title="xmlSecKeyStoreFindKey ()">xmlSecKeyStoreFindKey</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="define_keyword">#define</td>
<td class="function_name">
<a class="link" href="xmlsec-keysmngr.html#xmlSecKeyStoreGetName" title="xmlSecKeyStoreGetName()">xmlSecKeyStoreGetName</a><span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="define_keyword">#define</td>
<td class="function_name">
<a class="link" href="xmlsec-keysmngr.html#xmlSecKeyStoreIsValid" title="xmlSecKeyStoreIsValid()">xmlSecKeyStoreIsValid</a><span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="define_keyword">#define</td>
<td class="function_name">
<a class="link" href="xmlsec-keysmngr.html#xmlSecKeyStoreCheckId" title="xmlSecKeyStoreCheckId()">xmlSecKeyStoreCheckId</a><span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="define_keyword">#define</td>
<td class="function_name">
<a class="link" href="xmlsec-keysmngr.html#xmlSecKeyStoreCheckSize" title="xmlSecKeyStoreCheckSize()">xmlSecKeyStoreCheckSize</a><span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<font><span class="returnvalue">int</span></font>
</td>
<td class="function_name">
<span class="c_punctuation">(</span><a class="link" href="xmlsec-keysmngr.html#xmlSecKeyStoreInitializeMethod" title="xmlSecKeyStoreInitializeMethod ()">*xmlSecKeyStoreInitializeMethod</a><span class="c_punctuation">)</span> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<font><span class="returnvalue">void</span></font>
</td>
<td class="function_name">
<span class="c_punctuation">(</span><a class="link" href="xmlsec-keysmngr.html#xmlSecKeyStoreFinalizeMethod" title="xmlSecKeyStoreFinalizeMethod ()">*xmlSecKeyStoreFinalizeMethod</a><span class="c_punctuation">)</span> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<a class="link" href="xmlsec-keys.html#xmlSecKey" title="struct xmlSecKey"><span class="returnvalue">xmlSecKeyPtr</span></a>
</td>
<td class="function_name">
<span class="c_punctuation">(</span><a class="link" href="xmlsec-keysmngr.html#xmlSecKeyStoreFindKeyMethod" title="xmlSecKeyStoreFindKeyMethod ()">*xmlSecKeyStoreFindKeyMethod</a><span class="c_punctuation">)</span> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="define_keyword">#define</td>
<td class="function_name">
<a class="link" href="xmlsec-keysmngr.html#xmlSecKeyStoreKlassGetName" title="xmlSecKeyStoreKlassGetName()">xmlSecKeyStoreKlassGetName</a><span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<font><span class="returnvalue">xmlSecKeyStoreId</span></font>
</td>
<td class="function_name">
<a class="link" href="xmlsec-keysmngr.html#xmlSecSimpleKeysStoreGetKlass" title="xmlSecSimpleKeysStoreGetKlass ()">xmlSecSimpleKeysStoreGetKlass</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<font><span class="returnvalue">int</span></font>
</td>
<td class="function_name">
<a class="link" href="xmlsec-keysmngr.html#xmlSecSimpleKeysStoreAdoptKey" title="xmlSecSimpleKeysStoreAdoptKey ()">xmlSecSimpleKeysStoreAdoptKey</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<font><span class="returnvalue">int</span></font>
</td>
<td class="function_name">
<a class="link" href="xmlsec-keysmngr.html#xmlSecSimpleKeysStoreLoad" title="xmlSecSimpleKeysStoreLoad ()">xmlSecSimpleKeysStoreLoad</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<font><span class="returnvalue">int</span></font>
</td>
<td class="function_name">
<a class="link" href="xmlsec-keysmngr.html#xmlSecSimpleKeysStoreSave" title="xmlSecSimpleKeysStoreSave ()">xmlSecSimpleKeysStoreSave</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<a class="link" href="xmlsec-list.html#xmlSecPtrList" title="struct xmlSecPtrList"><span class="returnvalue">xmlSecPtrListPtr</span></a>
</td>
<td class="function_name">
<a class="link" href="xmlsec-keysmngr.html#xmlSecSimpleKeysStoreGetKeys" title="xmlSecSimpleKeysStoreGetKeys ()">xmlSecSimpleKeysStoreGetKeys</a> <span class="c_punctuation">()</span>
</td>
</tr>
</tbody>
</table></div>
</div>
<div class="refsect1">
<a name="xmlsec-keysmngr.other"></a><h2>Types and Values</h2>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col>
<col>
</colgroup>
<tbody>
<tr>
<td class="datatype_keyword">struct</td>
<td class="function_name"><a class="link" href="xmlsec-keysmngr.html#xmlSecKeysMngr" title="struct xmlSecKeysMngr">xmlSecKeysMngr</a></td>
</tr>
<tr>
<td class="datatype_keyword">struct</td>
<td class="function_name"><a class="link" href="xmlsec-keysmngr.html#xmlSecKeyStore" title="struct xmlSecKeyStore">xmlSecKeyStore</a></td>
</tr>
<tr>
<td class="define_keyword">#define</td>
<td class="function_name"><a class="link" href="xmlsec-keysmngr.html#xmlSecKeyStoreIdUnknown" title="xmlSecKeyStoreIdUnknown">xmlSecKeyStoreIdUnknown</a></td>
</tr>
<tr>
<td class="datatype_keyword">struct</td>
<td class="function_name"><a class="link" href="xmlsec-keysmngr.html#xmlSecKeyStoreKlass" title="struct xmlSecKeyStoreKlass">xmlSecKeyStoreKlass</a></td>
</tr>
<tr>
<td class="define_keyword">#define</td>
<td class="function_name"><a class="link" href="xmlsec-keysmngr.html#xmlSecSimpleKeysStoreId" title="xmlSecSimpleKeysStoreId">xmlSecSimpleKeysStoreId</a></td>
</tr>
</tbody>
</table></div>
</div>
<div class="refsect1">
<a name="xmlsec-keysmngr.description"></a><h2>Description</h2>
<p></p>
</div>
<div class="refsect1">
<a name="xmlsec-keysmngr.functions_details"></a><h2>Functions</h2>
<div class="refsect2">
<a name="xmlSecKeysMngrCreate"></a><h3>xmlSecKeysMngrCreate ()</h3>
<pre class="programlisting"><a class="link" href="xmlsec-keysmngr.html#xmlSecKeysMngr" title="struct xmlSecKeysMngr"><span class="returnvalue">xmlSecKeysMngrPtr</span></a>
xmlSecKeysMngrCreate (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
<p>Creates new keys manager. Caller is responsible for freeing it with
<a class="link" href="xmlsec-keysmngr.html#xmlSecKeysMngrDestroy" title="xmlSecKeysMngrDestroy ()"><span class="type">xmlSecKeysMngrDestroy</span></a> function.</p>
<div class="refsect3">
<a name="xmlSecKeysMngrCreate.returns"></a><h4>Returns</h4>
<p> the pointer to newly allocated keys manager or NULL if
an error occurs.</p>
</div>
</div>
<hr>
<div class="refsect2">
<a name="xmlSecKeysMngrDestroy"></a><h3>xmlSecKeysMngrDestroy ()</h3>
<pre class="programlisting"><font><span class="returnvalue">void</span></font>
xmlSecKeysMngrDestroy (<em class="parameter"><code><a class="link" href="xmlsec-keysmngr.html#xmlSecKeysMngr" title="struct xmlSecKeysMngr"><span class="type">xmlSecKeysMngrPtr</span></a> mngr</code></em>);</pre>
<p>Destroys keys manager created with <a class="link" href="xmlsec-keysmngr.html#xmlSecKeysMngrCreate" title="xmlSecKeysMngrCreate ()"><span class="type">xmlSecKeysMngrCreate</span></a> function.</p>
<div class="refsect3">
<a name="xmlSecKeysMngrDestroy.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col>
<col>
<col>
</colgroup>
<tbody><tr>
<td class="parameter_name"><p>mngr</p></td>
<td class="parameter_description"><p>the pointer to keys manager.</p></td>
<td class="parameter_annotations"> </td>
</tr></tbody>
</table></div>
</div>
</div>
<hr>
<div class="refsect2">
<a name="xmlSecKeysMngrFindKey"></a><h3>xmlSecKeysMngrFindKey ()</h3>
<pre class="programlisting"><a class="link" href="xmlsec-keys.html#xmlSecKey" title="struct xmlSecKey"><span class="returnvalue">xmlSecKeyPtr</span></a>
xmlSecKeysMngrFindKey (<em class="parameter"><code><a class="link" href="xmlsec-keysmngr.html#xmlSecKeysMngr" title="struct xmlSecKeysMngr"><span class="type">xmlSecKeysMngrPtr</span></a> mngr</code></em>,
                       <em class="parameter"><code>const <font><span class="type">xmlChar</span></font> *name</code></em>,
                       <em class="parameter"><code><a class="link" href="xmlsec-keyinfo.html#xmlSecKeyInfoCtx" title="struct xmlSecKeyInfoCtx"><span class="type">xmlSecKeyInfoCtxPtr</span></a> keyInfoCtx</code></em>);</pre>
<p>Lookups key in the keys manager keys store. The caller is responsible
for destroying the returned key using <a class="link" href="xmlsec-keys.html#xmlSecKeyDestroy" title="xmlSecKeyDestroy ()"><span class="type">xmlSecKeyDestroy</span></a> method.</p>
<div class="refsect3">
<a name="xmlSecKeysMngrFindKey.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col>
<col>
<col>
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>mngr</p></td>
<td class="parameter_description"><p>the pointer to keys manager.</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>name</p></td>
<td class="parameter_description"><p>the desired key name.</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>keyInfoCtx</p></td>
<td class="parameter_description"><p>the pointer to <a class="ulink" href="" target="_top">&lt;dsig:KeyInfo/&gt;</a> node processing context.</p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
<div class="refsect3">
<a name="xmlSecKeysMngrFindKey.returns"></a><h4>Returns</h4>
<p> the pointer to a key or NULL if key is not found or an error occurs.</p>
</div>
</div>
<hr>
<div class="refsect2">
<a name="xmlSecKeysMngrAdoptKeysStore"></a><h3>xmlSecKeysMngrAdoptKeysStore ()</h3>
<pre class="programlisting"><font><span class="returnvalue">int</span></font>
xmlSecKeysMngrAdoptKeysStore (<em class="parameter"><code><a class="link" href="xmlsec-keysmngr.html#xmlSecKeysMngr" title="struct xmlSecKeysMngr"><span class="type">xmlSecKeysMngrPtr</span></a> mngr</code></em>,
                              <em class="parameter"><code><a class="link" href="xmlsec-keysmngr.html#xmlSecKeyStore" title="struct xmlSecKeyStore"><span class="type">xmlSecKeyStorePtr</span></a> store</code></em>);</pre>
<p>Adopts keys store in the keys manager <em class="parameter"><code>mngr</code></em>
.</p>
<div class="refsect3">
<a name="xmlSecKeysMngrAdoptKeysStore.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col>
<col>
<col>
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>mngr</p></td>
<td class="parameter_description"><p>the pointer to keys manager.</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>store</p></td>
<td class="parameter_description"><p>the pointer to keys store.</p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
<div class="refsect3">
<a name="xmlSecKeysMngrAdoptKeysStore.returns"></a><h4>Returns</h4>
<p> 0 on success or a negative value if an error occurs.</p>
</div>
</div>
<hr>
<div class="refsect2">
<a name="xmlSecKeysMngrGetKeysStore"></a><h3>xmlSecKeysMngrGetKeysStore ()</h3>
<pre class="programlisting"><a class="link" href="xmlsec-keysmngr.html#xmlSecKeyStore" title="struct xmlSecKeyStore"><span class="returnvalue">xmlSecKeyStorePtr</span></a>
xmlSecKeysMngrGetKeysStore (<em class="parameter"><code><a class="link" href="xmlsec-keysmngr.html#xmlSecKeysMngr" title="struct xmlSecKeysMngr"><span class="type">xmlSecKeysMngrPtr</span></a> mngr</code></em>);</pre>
<p>Gets the keys store.</p>
<div class="refsect3">
<a name="xmlSecKeysMngrGetKeysStore.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col>
<col>
<col>
</colgroup>
<tbody><tr>
<td class="parameter_name"><p>mngr</p></td>
<td class="parameter_description"><p>the pointer to keys manager.</p></td>
<td class="parameter_annotations"> </td>
</tr></tbody>
</table></div>
</div>
<div class="refsect3">
<a name="xmlSecKeysMngrGetKeysStore.returns"></a><h4>Returns</h4>
<p> the keys store in the keys manager <em class="parameter"><code>mngr</code></em>
or NULL if
there is no store or an error occurs.</p>
</div>
</div>
<hr>
<div class="refsect2">
<a name="xmlSecKeysMngrAdoptDataStore"></a><h3>xmlSecKeysMngrAdoptDataStore ()</h3>
<pre class="programlisting"><font><span class="returnvalue">int</span></font>
xmlSecKeysMngrAdoptDataStore (<em class="parameter"><code><a class="link" href="xmlsec-keysmngr.html#xmlSecKeysMngr" title="struct xmlSecKeysMngr"><span class="type">xmlSecKeysMngrPtr</span></a> mngr</code></em>,
                              <em class="parameter"><code><a class="link" href="xmlsec-keysdata.html#xmlSecKeyDataStore" title="struct xmlSecKeyDataStore"><span class="type">xmlSecKeyDataStorePtr</span></a> store</code></em>);</pre>
<p>Adopts data store in the keys manager.</p>
<div class="refsect3">
<a name="xmlSecKeysMngrAdoptDataStore.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col>
<col>
<col>
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>mngr</p></td>
<td class="parameter_description"><p>the pointer to keys manager.</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>store</p></td>
<td class="parameter_description"><p>the pointer to data store.</p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
<div class="refsect3">
<a name="xmlSecKeysMngrAdoptDataStore.returns"></a><h4>Returns</h4>
<p> 0 on success or a negative value if an error occurs.</p>
</div>
</div>
<hr>
<div class="refsect2">
<a name="xmlSecKeysMngrGetDataStore"></a><h3>xmlSecKeysMngrGetDataStore ()</h3>
<pre class="programlisting"><a class="link" href="xmlsec-keysdata.html#xmlSecKeyDataStore" title="struct xmlSecKeyDataStore"><span class="returnvalue">xmlSecKeyDataStorePtr</span></a>
xmlSecKeysMngrGetDataStore (<em class="parameter"><code><a class="link" href="xmlsec-keysmngr.html#xmlSecKeysMngr" title="struct xmlSecKeysMngr"><span class="type">xmlSecKeysMngrPtr</span></a> mngr</code></em>,
                            <em class="parameter"><code><font><span class="type">xmlSecKeyDataStoreId</span></font> id</code></em>);</pre>
<p>Lookups the data store of given klass <em class="parameter"><code>id</code></em>
 in the keys manager.</p>
<div class="refsect3">
<a name="xmlSecKeysMngrGetDataStore.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col>
<col>
<col>
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>mngr</p></td>
<td class="parameter_description"><p>the pointer to keys manager.</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>id</p></td>
<td class="parameter_description"><p>the desired data store klass.</p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
<div class="refsect3">
<a name="xmlSecKeysMngrGetDataStore.returns"></a><h4>Returns</h4>
<p> pointer to data store or NULL if it is not found or an error
occurs.</p>
</div>
</div>
<hr>
<div class="refsect2">
<a name="xmlSecGetKeyCallback"></a><h3>xmlSecGetKeyCallback ()</h3>
<pre class="programlisting"><a class="link" href="xmlsec-keys.html#xmlSecKey" title="struct xmlSecKey"><span class="returnvalue">xmlSecKeyPtr</span></a>
<span class="c_punctuation">(</span>*xmlSecGetKeyCallback<span class="c_punctuation">)</span> (<em class="parameter"><code><font><span class="type">xmlNodePtr</span></font> keyInfoNode</code></em>,
                         <em class="parameter"><code><a class="link" href="xmlsec-keyinfo.html#xmlSecKeyInfoCtx" title="struct xmlSecKeyInfoCtx"><span class="type">xmlSecKeyInfoCtxPtr</span></a> keyInfoCtx</code></em>);</pre>
<p>Reads the <a class="ulink" href="" target="_top">&lt;dsig:KeyInfo/&gt;</a> node <em class="parameter"><code>keyInfoNode</code></em>
 and extracts the key.</p>
<div class="refsect3">
<a name="xmlSecGetKeyCallback.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col>
<col>
<col>
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>keyInfoNode</p></td>
<td class="parameter_description"><p>the pointer to <a class="ulink" href="" target="_top">&lt;dsig:KeyInfo/&gt;</a> node.</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>keyInfoCtx</p></td>
<td class="parameter_description"><p>the pointer to <a class="ulink" href="" target="_top">&lt;dsig:KeyInfo/&gt;</a> node processing context.</p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
<div class="refsect3">
<a name="xmlSecGetKeyCallback.returns"></a><h4>Returns</h4>
<p> the pointer to key or NULL if the key is not found or
an error occurs.</p>
</div>
</div>
<hr>
<div class="refsect2">
<a name="xmlSecKeysMngrGetKey"></a><h3>xmlSecKeysMngrGetKey ()</h3>
<pre class="programlisting"><a class="link" href="xmlsec-keys.html#xmlSecKey" title="struct xmlSecKey"><span class="returnvalue">xmlSecKeyPtr</span></a>
xmlSecKeysMngrGetKey (<em class="parameter"><code><font><span class="type">xmlNodePtr</span></font> keyInfoNode</code></em>,
                      <em class="parameter"><code><a class="link" href="xmlsec-keyinfo.html#xmlSecKeyInfoCtx" title="struct xmlSecKeyInfoCtx"><span class="type">xmlSecKeyInfoCtxPtr</span></a> keyInfoCtx</code></em>);</pre>
<p>Reads the <a class="ulink" href="" target="_top">&lt;dsig:KeyInfo/&gt;</a> node <em class="parameter"><code>keyInfoNode</code></em>
 and extracts the key.</p>
<div class="refsect3">
<a name="xmlSecKeysMngrGetKey.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col>
<col>
<col>
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>keyInfoNode</p></td>
<td class="parameter_description"><p>the pointer to <a class="ulink" href="" target="_top">&lt;dsig:KeyInfo/&gt;</a> node.</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>keyInfoCtx</p></td>
<td class="parameter_description"><p>the pointer to <a class="ulink" href="" target="_top">&lt;dsig:KeyInfo/&gt;</a> node processing context.</p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
<div class="refsect3">
<a name="xmlSecKeysMngrGetKey.returns"></a><h4>Returns</h4>
<p> the pointer to key or NULL if the key is not found or
an error occurs.</p>
</div>
</div>
<hr>
<div class="refsect2">
<a name="xmlSecKeyStoreCreate"></a><h3>xmlSecKeyStoreCreate ()</h3>
<pre class="programlisting"><a class="link" href="xmlsec-keysmngr.html#xmlSecKeyStore" title="struct xmlSecKeyStore"><span class="returnvalue">xmlSecKeyStorePtr</span></a>
xmlSecKeyStoreCreate (<em class="parameter"><code><font><span class="type">xmlSecKeyStoreId</span></font> id</code></em>);</pre>
<p>Creates new store of the specified klass <em class="parameter"><code>klass</code></em>
. Caller is responsible
for freeing the returned store by calling <a class="link" href="xmlsec-keysmngr.html#xmlSecKeyStoreDestroy" title="xmlSecKeyStoreDestroy ()"><span class="type">xmlSecKeyStoreDestroy</span></a> function.</p>
<div class="refsect3">
<a name="xmlSecKeyStoreCreate.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col>
<col>
<col>
</colgroup>
<tbody><tr>
<td class="parameter_name"><p>id</p></td>
<td class="parameter_description"><p>the key store klass.</p></td>
<td class="parameter_annotations"> </td>
</tr></tbody>
</table></div>
</div>
<div class="refsect3">
<a name="xmlSecKeyStoreCreate.returns"></a><h4>Returns</h4>
<p> the pointer to newly allocated keys store or NULL if an error occurs.</p>
</div>
</div>
<hr>
<div class="refsect2">
<a name="xmlSecKeyStoreDestroy"></a><h3>xmlSecKeyStoreDestroy ()</h3>
<pre class="programlisting"><font><span class="returnvalue">void</span></font>
xmlSecKeyStoreDestroy (<em class="parameter"><code><a class="link" href="xmlsec-keysmngr.html#xmlSecKeyStore" title="struct xmlSecKeyStore"><span class="type">xmlSecKeyStorePtr</span></a> store</code></em>);</pre>
<p>Destroys the store created with <a class="link" href="xmlsec-keysmngr.html#xmlSecKeyStoreCreate" title="xmlSecKeyStoreCreate ()"><span class="type">xmlSecKeyStoreCreate</span></a> function.</p>
<div class="refsect3">
<a name="xmlSecKeyStoreDestroy.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col>
<col>
<col>
</colgroup>
<tbody><tr>
<td class="parameter_name"><p>store</p></td>
<td class="parameter_description"><p>the pointer to keys store.</p></td>
<td class="parameter_annotations"> </td>
</tr></tbody>
</table></div>
</div>
</div>
<hr>
<div class="refsect2">
<a name="xmlSecKeyStoreFindKey"></a><h3>xmlSecKeyStoreFindKey ()</h3>
<pre class="programlisting"><a class="link" href="xmlsec-keys.html#xmlSecKey" title="struct xmlSecKey"><span class="returnvalue">xmlSecKeyPtr</span></a>
xmlSecKeyStoreFindKey (<em class="parameter"><code><a class="link" href="xmlsec-keysmngr.html#xmlSecKeyStore" title="struct xmlSecKeyStore"><span class="type">xmlSecKeyStorePtr</span></a> store</code></em>,
                       <em class="parameter"><code>const <font><span class="type">xmlChar</span></font> *name</code></em>,
                       <em class="parameter"><code><a class="link" href="xmlsec-keyinfo.html#xmlSecKeyInfoCtx" title="struct xmlSecKeyInfoCtx"><span class="type">xmlSecKeyInfoCtxPtr</span></a> keyInfoCtx</code></em>);</pre>
<p>Lookups key in the store. The caller is responsible for destroying
the returned key using <a class="link" href="xmlsec-keys.html#xmlSecKeyDestroy" title="xmlSecKeyDestroy ()"><span class="type">xmlSecKeyDestroy</span></a> method.</p>
<div class="refsect3">
<a name="xmlSecKeyStoreFindKey.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col>
<col>
<col>
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>store</p></td>
<td class="parameter_description"><p>the pointer to keys store.</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>name</p></td>
<td class="parameter_description"><p>the desired key name.</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>keyInfoCtx</p></td>
<td class="parameter_description"><p>the pointer to <a class="ulink" href="" target="_top">&lt;dsig:KeyInfo/&gt;</a> node processing context.</p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
<div class="refsect3">
<a name="xmlSecKeyStoreFindKey.returns"></a><h4>Returns</h4>
<p> the pointer to a key or NULL if key is not found or an error occurs.</p>
</div>
</div>
<hr>
<div class="refsect2">
<a name="xmlSecKeyStoreGetName"></a><h3>xmlSecKeyStoreGetName()</h3>
<pre class="programlisting">#define             xmlSecKeyStoreGetName(store)</pre>
<p>Macro. Returns key store name.</p>
<div class="refsect3">
<a name="xmlSecKeyStoreGetName.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col>
<col>
<col>
</colgroup>
<tbody><tr>
<td class="parameter_name"><p>store</p></td>
<td class="parameter_description"><p>the pointer to store.</p></td>
<td class="parameter_annotations"> </td>
</tr></tbody>
</table></div>
</div>
</div>
<hr>
<div class="refsect2">
<a name="xmlSecKeyStoreIsValid"></a><h3>xmlSecKeyStoreIsValid()</h3>
<pre class="programlisting">#define             xmlSecKeyStoreIsValid(store)</pre>
<p>Macro. Returns 1 if <em class="parameter"><code>store</code></em>
 is not NULL and <em class="parameter"><code>store-&gt;id</code></em>
 is not NULL
or 0 otherwise.</p>
<div class="refsect3">
<a name="xmlSecKeyStoreIsValid.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col>
<col>
<col>
</colgroup>
<tbody><tr>
<td class="parameter_name"><p>store</p></td>
<td class="parameter_description"><p>the pointer to store.</p></td>
<td class="parameter_annotations"> </td>
</tr></tbody>
</table></div>
</div>
</div>
<hr>
<div class="refsect2">
<a name="xmlSecKeyStoreCheckId"></a><h3>xmlSecKeyStoreCheckId()</h3>
<pre class="programlisting">#define             xmlSecKeyStoreCheckId(store, storeId)</pre>
<p>Macro. Returns 1 if <em class="parameter"><code>store</code></em>
 is valid and <em class="parameter"><code>store</code></em>
's id is equal to <em class="parameter"><code>storeId</code></em>
.</p>
<div class="refsect3">
<a name="xmlSecKeyStoreCheckId.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col>
<col>
<col>
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>store</p></td>
<td class="parameter_description"><p>the pointer to store.</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>storeId</p></td>
<td class="parameter_description"><p>the store Id.</p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
</div>
<hr>
<div class="refsect2">
<a name="xmlSecKeyStoreCheckSize"></a><h3>xmlSecKeyStoreCheckSize()</h3>
<pre class="programlisting">#define             xmlSecKeyStoreCheckSize(store, size)</pre>
<p>Macro. Returns 1 if <em class="parameter"><code>store</code></em>
 is valid and <em class="parameter"><code>stores</code></em>
's object has at least <em class="parameter"><code>size</code></em>
 bytes.</p>
<div class="refsect3">
<a name="xmlSecKeyStoreCheckSize.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col>
<col>
<col>
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>store</p></td>
<td class="parameter_description"><p>the pointer to store.</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>size</p></td>
<td class="parameter_description"><p>the expected size.</p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
</div>
<hr>
<div class="refsect2">
<a name="xmlSecKeyStoreInitializeMethod"></a><h3>xmlSecKeyStoreInitializeMethod ()</h3>
<pre class="programlisting"><font><span class="returnvalue">int</span></font>
<span class="c_punctuation">(</span>*xmlSecKeyStoreInitializeMethod<span class="c_punctuation">)</span> (<em class="parameter"><code><a class="link" href="xmlsec-keysmngr.html#xmlSecKeyStore" title="struct xmlSecKeyStore"><span class="type">xmlSecKeyStorePtr</span></a> store</code></em>);</pre>
<p>Keys store specific initialization method.</p>
<div class="refsect3">
<a name="xmlSecKeyStoreInitializeMethod.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col>
<col>
<col>
</colgroup>
<tbody><tr>
<td class="parameter_name"><p>store</p></td>
<td class="parameter_description"><p>the store.</p></td>
<td class="parameter_annotations"> </td>
</tr></tbody>
</table></div>
</div>
<div class="refsect3">
<a name="xmlSecKeyStoreInitializeMethod.returns"></a><h4>Returns</h4>
<p> 0 on success or a negative value if an error occurs.</p>
</div>
</div>
<hr>
<div class="refsect2">
<a name="xmlSecKeyStoreFinalizeMethod"></a><h3>xmlSecKeyStoreFinalizeMethod ()</h3>
<pre class="programlisting"><font><span class="returnvalue">void</span></font>
<span class="c_punctuation">(</span>*xmlSecKeyStoreFinalizeMethod<span class="c_punctuation">)</span> (<em class="parameter"><code><a class="link" href="xmlsec-keysmngr.html#xmlSecKeyStore" title="struct xmlSecKeyStore"><span class="type">xmlSecKeyStorePtr</span></a> store</code></em>);</pre>
<p>Keys store specific finalization (destroy) method.</p>
<div class="refsect3">
<a name="xmlSecKeyStoreFinalizeMethod.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col>
<col>
<col>
</colgroup>
<tbody><tr>
<td class="parameter_name"><p>store</p></td>
<td class="parameter_description"><p>the store.</p></td>
<td class="parameter_annotations"> </td>
</tr></tbody>
</table></div>
</div>
</div>
<hr>
<div class="refsect2">
<a name="xmlSecKeyStoreFindKeyMethod"></a><h3>xmlSecKeyStoreFindKeyMethod ()</h3>
<pre class="programlisting"><a class="link" href="xmlsec-keys.html#xmlSecKey" title="struct xmlSecKey"><span class="returnvalue">xmlSecKeyPtr</span></a>
<span class="c_punctuation">(</span>*xmlSecKeyStoreFindKeyMethod<span class="c_punctuation">)</span> (<em class="parameter"><code><a class="link" href="xmlsec-keysmngr.html#xmlSecKeyStore" title="struct xmlSecKeyStore"><span class="type">xmlSecKeyStorePtr</span></a> store</code></em>,
                                <em class="parameter"><code>const <font><span class="type">xmlChar</span></font> *name</code></em>,
                                <em class="parameter"><code><a class="link" href="xmlsec-keyinfo.html#xmlSecKeyInfoCtx" title="struct xmlSecKeyInfoCtx"><span class="type">xmlSecKeyInfoCtxPtr</span></a> keyInfoCtx</code></em>);</pre>
<p>Keys store specific find method. The caller is responsible for destroying
the returned key using <a class="link" href="xmlsec-keys.html#xmlSecKeyDestroy" title="xmlSecKeyDestroy ()"><span class="type">xmlSecKeyDestroy</span></a> method.</p>
<div class="refsect3">
<a name="xmlSecKeyStoreFindKeyMethod.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col>
<col>
<col>
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>store</p></td>
<td class="parameter_description"><p>the store.</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>name</p></td>
<td class="parameter_description"><p>the desired key name.</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>keyInfoCtx</p></td>
<td class="parameter_description"><p>the pointer to key info context.</p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
<div class="refsect3">
<a name="xmlSecKeyStoreFindKeyMethod.returns"></a><h4>Returns</h4>
<p> the pointer to a key or NULL if key is not found or an error occurs.</p>
</div>
</div>
<hr>
<div class="refsect2">
<a name="xmlSecKeyStoreKlassGetName"></a><h3>xmlSecKeyStoreKlassGetName()</h3>
<pre class="programlisting">#define             xmlSecKeyStoreKlassGetName(klass)</pre>
<p>Macro. Returns store klass name.</p>
<div class="refsect3">
<a name="xmlSecKeyStoreKlassGetName.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col>
<col>
<col>
</colgroup>
<tbody><tr>
<td class="parameter_name"><p>klass</p></td>
<td class="parameter_description"><p>the pointer to store klass.</p></td>
<td class="parameter_annotations"> </td>
</tr></tbody>
</table></div>
</div>
</div>
<hr>
<div class="refsect2">
<a name="xmlSecSimpleKeysStoreGetKlass"></a><h3>xmlSecSimpleKeysStoreGetKlass ()</h3>
<pre class="programlisting"><font><span class="returnvalue">xmlSecKeyStoreId</span></font>
xmlSecSimpleKeysStoreGetKlass (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
<p>The simple list based keys store klass.</p>
<div class="refsect3">
<a name="xmlSecSimpleKeysStoreGetKlass.returns"></a><h4>Returns</h4>
<p> simple list based keys store klass.</p>
</div>
</div>
<hr>
<div class="refsect2">
<a name="xmlSecSimpleKeysStoreAdoptKey"></a><h3>xmlSecSimpleKeysStoreAdoptKey ()</h3>
<pre class="programlisting"><font><span class="returnvalue">int</span></font>
xmlSecSimpleKeysStoreAdoptKey (<em class="parameter"><code><a class="link" href="xmlsec-keysmngr.html#xmlSecKeyStore" title="struct xmlSecKeyStore"><span class="type">xmlSecKeyStorePtr</span></a> store</code></em>,
                               <em class="parameter"><code><a class="link" href="xmlsec-keys.html#xmlSecKey" title="struct xmlSecKey"><span class="type">xmlSecKeyPtr</span></a> key</code></em>);</pre>
<p>Adds <em class="parameter"><code>key</code></em>
 to the <em class="parameter"><code>store</code></em>
.</p>
<div class="refsect3">
<a name="xmlSecSimpleKeysStoreAdoptKey.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col>
<col>
<col>
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>store</p></td>
<td class="parameter_description"><p>the pointer to simple keys store.</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>key</p></td>
<td class="parameter_description"><p>the pointer to key.</p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
<div class="refsect3">
<a name="xmlSecSimpleKeysStoreAdoptKey.returns"></a><h4>Returns</h4>
<p> 0 on success or a negative value if an error occurs.</p>
</div>
</div>
<hr>
<div class="refsect2">
<a name="xmlSecSimpleKeysStoreLoad"></a><h3>xmlSecSimpleKeysStoreLoad ()</h3>
<pre class="programlisting"><font><span class="returnvalue">int</span></font>
xmlSecSimpleKeysStoreLoad (<em class="parameter"><code><a class="link" href="xmlsec-keysmngr.html#xmlSecKeyStore" title="struct xmlSecKeyStore"><span class="type">xmlSecKeyStorePtr</span></a> store</code></em>,
                           <em class="parameter"><code>const <font><span class="type">char</span></font> *uri</code></em>,
                           <em class="parameter"><code><a class="link" href="xmlsec-keysmngr.html#xmlSecKeysMngr" title="struct xmlSecKeysMngr"><span class="type">xmlSecKeysMngrPtr</span></a> keysMngr</code></em>);</pre>
<p>Reads keys from an XML file.</p>
<div class="refsect3">
<a name="xmlSecSimpleKeysStoreLoad.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col>
<col>
<col>
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>store</p></td>
<td class="parameter_description"><p>the pointer to simple keys store.</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>uri</p></td>
<td class="parameter_description"><p>the filename.</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>keysMngr</p></td>
<td class="parameter_description"><p>the pointer to associated keys manager.</p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
<div class="refsect3">
<a name="xmlSecSimpleKeysStoreLoad.returns"></a><h4>Returns</h4>
<p> 0 on success or a negative value if an error occurs.</p>
</div>
</div>
<hr>
<div class="refsect2">
<a name="xmlSecSimpleKeysStoreSave"></a><h3>xmlSecSimpleKeysStoreSave ()</h3>
<pre class="programlisting"><font><span class="returnvalue">int</span></font>
xmlSecSimpleKeysStoreSave (<em class="parameter"><code><a class="link" href="xmlsec-keysmngr.html#xmlSecKeyStore" title="struct xmlSecKeyStore"><span class="type">xmlSecKeyStorePtr</span></a> store</code></em>,
                           <em class="parameter"><code>const <font><span class="type">char</span></font> *filename</code></em>,
                           <em class="parameter"><code><a class="link" href="xmlsec-keysdata.html#xmlSecKeyDataType" title="xmlSecKeyDataType"><span class="type">xmlSecKeyDataType</span></a> type</code></em>);</pre>
<p>Writes keys from <em class="parameter"><code>store</code></em>
 to an XML file.</p>
<div class="refsect3">
<a name="xmlSecSimpleKeysStoreSave.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col>
<col>
<col>
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>store</p></td>
<td class="parameter_description"><p>the pointer to simple keys store.</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>filename</p></td>
<td class="parameter_description"><p>the filename.</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>type</p></td>
<td class="parameter_description"><p>the saved keys type (public, private, ...).</p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
<div class="refsect3">
<a name="xmlSecSimpleKeysStoreSave.returns"></a><h4>Returns</h4>
<p> 0 on success or a negative value if an error occurs.</p>
</div>
</div>
<hr>
<div class="refsect2">
<a name="xmlSecSimpleKeysStoreGetKeys"></a><h3>xmlSecSimpleKeysStoreGetKeys ()</h3>
<pre class="programlisting"><a class="link" href="xmlsec-list.html#xmlSecPtrList" title="struct xmlSecPtrList"><span class="returnvalue">xmlSecPtrListPtr</span></a>
xmlSecSimpleKeysStoreGetKeys (<em class="parameter"><code><a class="link" href="xmlsec-keysmngr.html#xmlSecKeyStore" title="struct xmlSecKeyStore"><span class="type">xmlSecKeyStorePtr</span></a> store</code></em>);</pre>
<p>Gets list of keys from simple keys store.</p>
<div class="refsect3">
<a name="xmlSecSimpleKeysStoreGetKeys.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col>
<col>
<col>
</colgroup>
<tbody><tr>
<td class="parameter_name"><p>store</p></td>
<td class="parameter_description"><p>the pointer to simple keys store.</p></td>
<td class="parameter_annotations"> </td>
</tr></tbody>
</table></div>
</div>
<div class="refsect3">
<a name="xmlSecSimpleKeysStoreGetKeys.returns"></a><h4>Returns</h4>
<p> pointer to the list of keys stored in the keys store or NULL
if an error occurs.</p>
</div>
</div>
</div>
<div class="refsect1">
<a name="xmlsec-keysmngr.other_details"></a><h2>Types and Values</h2>
<div class="refsect2">
<a name="xmlSecKeysMngr"></a><h3>struct xmlSecKeysMngr</h3>
<pre class="programlisting">struct xmlSecKeysMngr {
    xmlSecKeyStorePtr           keysStore;
    xmlSecPtrList               storesList;
    xmlSecGetKeyCallback        getKey;
};
</pre>
<p>The keys manager structure.</p>
<div class="refsect3">
<a name="xmlSecKeysMngr.members"></a><h4>Members</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col>
<col>
<col>
</colgroup>
<tbody>
<tr>
<td class="struct_member_name"><p><a class="link" href="xmlsec-keysmngr.html#xmlSecKeyStore" title="struct xmlSecKeyStore"><span class="type">xmlSecKeyStorePtr</span></a> <em class="structfield"><code><a name="xmlSecKeysMngr.keysStore"></a>keysStore</code></em>;</p></td>
<td class="struct_member_description"><p>the key store (list of keys known to keys manager).</p></td>
<td class="struct_member_annotations"> </td>
</tr>
<tr>
<td class="struct_member_name"><p><a class="link" href="xmlsec-list.html#xmlSecPtrList" title="struct xmlSecPtrList"><span class="type">xmlSecPtrList</span></a> <em class="structfield"><code><a name="xmlSecKeysMngr.storesList"></a>storesList</code></em>;</p></td>
<td class="struct_member_description"><p>the list of key data stores known to keys manager.</p></td>
<td class="struct_member_annotations"> </td>
</tr>
<tr>
<td class="struct_member_name"><p><a class="link" href="xmlsec-keysmngr.html#xmlSecGetKeyCallback" title="xmlSecGetKeyCallback ()"><span class="type">xmlSecGetKeyCallback</span></a> <em class="structfield"><code><a name="xmlSecKeysMngr.getKey"></a>getKey</code></em>;</p></td>
<td class="struct_member_description"><p>the callback used to read <a class="ulink" href="" target="_top">&lt;dsig:KeyInfo/&gt;</a> node.</p></td>
<td class="struct_member_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
</div>
<hr>
<div class="refsect2">
<a name="xmlSecKeyStore"></a><h3>struct xmlSecKeyStore</h3>
<pre class="programlisting">struct xmlSecKeyStore {
    xmlSecKeyStoreId                    id;

    /* for the future */
    void*                               reserved0;
    void*                               reserved1;
};
</pre>
<p>The keys store.</p>
<div class="refsect3">
<a name="xmlSecKeyStore.members"></a><h4>Members</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col>
<col>
<col>
</colgroup>
<tbody>
<tr>
<td class="struct_member_name"><p><font><span class="type">xmlSecKeyStoreId</span></font> <em class="structfield"><code><a name="xmlSecKeyStore.id"></a>id</code></em>;</p></td>
<td class="struct_member_description"><p>the store id (<font><span class="type">xmlSecKeyStoreId</span></font>).</p></td>
<td class="struct_member_annotations"> </td>
</tr>
<tr>
<td class="struct_member_name"><p><font><span class="type">void</span></font> *<em class="structfield"><code><a name="xmlSecKeyStore.reserved0"></a>reserved0</code></em>;</p></td>
<td class="struct_member_description"><p>reserved for the future.</p></td>
<td class="struct_member_annotations"> </td>
</tr>
<tr>
<td class="struct_member_name"><p><font><span class="type">void</span></font> *<em class="structfield"><code><a name="xmlSecKeyStore.reserved1"></a>reserved1</code></em>;</p></td>
<td class="struct_member_description"><p>reserved for the future.</p></td>
<td class="struct_member_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
</div>
<hr>
<div class="refsect2">
<a name="xmlSecKeyStoreIdUnknown"></a><h3>xmlSecKeyStoreIdUnknown</h3>
<pre class="programlisting">#define xmlSecKeyStoreIdUnknown                         ((xmlSecKeyDataStoreId)NULL)
</pre>
<p>The "unknown" id.</p>
</div>
<hr>
<div class="refsect2">
<a name="xmlSecKeyStoreKlass"></a><h3>struct xmlSecKeyStoreKlass</h3>
<pre class="programlisting">struct xmlSecKeyStoreKlass {
    xmlSecSize                          klassSize;
    xmlSecSize                          objSize;

    /* data */
    const xmlChar*                      name;

    /* constructors/destructor */
    xmlSecKeyStoreInitializeMethod      initialize;
    xmlSecKeyStoreFinalizeMethod        finalize;
    xmlSecKeyStoreFindKeyMethod         findKey;

    /* for the future */
    void*                               reserved0;
    void*                               reserved1;
};
</pre>
<p>The keys store id (klass).</p>
<div class="refsect3">
<a name="xmlSecKeyStoreKlass.members"></a><h4>Members</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col>
<col>
<col>
</colgroup>
<tbody>
<tr>
<td class="struct_member_name"><p><a class="link" href="xmlsec-xmlsec.html#xmlSecSize" title="xmlSecSize"><span class="type">xmlSecSize</span></a> <em class="structfield"><code><a name="xmlSecKeyStoreKlass.klassSize"></a>klassSize</code></em>;</p></td>
<td class="struct_member_description"><p>the store klass size.</p></td>
<td class="struct_member_annotations"> </td>
</tr>
<tr>
<td class="struct_member_name"><p><a class="link" href="xmlsec-xmlsec.html#xmlSecSize" title="xmlSecSize"><span class="type">xmlSecSize</span></a> <em class="structfield"><code><a name="xmlSecKeyStoreKlass.objSize"></a>objSize</code></em>;</p></td>
<td class="struct_member_description"><p>the store obj size.</p></td>
<td class="struct_member_annotations"> </td>
</tr>
<tr>
<td class="struct_member_name"><p>const <font><span class="type">xmlChar</span></font> *<em class="structfield"><code><a name="xmlSecKeyStoreKlass.name"></a>name</code></em>;</p></td>
<td class="struct_member_description"><p>the store's name.</p></td>
<td class="struct_member_annotations"> </td>
</tr>
<tr>
<td class="struct_member_name"><p><a class="link" href="xmlsec-keysmngr.html#xmlSecKeyStoreInitializeMethod" title="xmlSecKeyStoreInitializeMethod ()"><span class="type">xmlSecKeyStoreInitializeMethod</span></a> <em class="structfield"><code><a name="xmlSecKeyStoreKlass.initialize"></a>initialize</code></em>;</p></td>
<td class="struct_member_description"><p>the store's initialization method.</p></td>
<td class="struct_member_annotations"> </td>
</tr>
<tr>
<td class="struct_member_name"><p><a class="link" href="xmlsec-keysmngr.html#xmlSecKeyStoreFinalizeMethod" title="xmlSecKeyStoreFinalizeMethod ()"><span class="type">xmlSecKeyStoreFinalizeMethod</span></a> <em class="structfield"><code><a name="xmlSecKeyStoreKlass.finalize"></a>finalize</code></em>;</p></td>
<td class="struct_member_description"><p>the store's finalization (destroy) method.</p></td>
<td class="struct_member_annotations"> </td>
</tr>
<tr>
<td class="struct_member_name"><p><a class="link" href="xmlsec-keysmngr.html#xmlSecKeyStoreFindKeyMethod" title="xmlSecKeyStoreFindKeyMethod ()"><span class="type">xmlSecKeyStoreFindKeyMethod</span></a> <em class="structfield"><code><a name="xmlSecKeyStoreKlass.findKey"></a>findKey</code></em>;</p></td>
<td class="struct_member_description"><p>the store's find method.</p></td>
<td class="struct_member_annotations"> </td>
</tr>
<tr>
<td class="struct_member_name"><p><font><span class="type">void</span></font> *<em class="structfield"><code><a name="xmlSecKeyStoreKlass.reserved0"></a>reserved0</code></em>;</p></td>
<td class="struct_member_description"><p>reserved for the future.</p></td>
<td class="struct_member_annotations"> </td>
</tr>
<tr>
<td class="struct_member_name"><p><font><span class="type">void</span></font> *<em class="structfield"><code><a name="xmlSecKeyStoreKlass.reserved1"></a>reserved1</code></em>;</p></td>
<td class="struct_member_description"><p>reserved for the future.</p></td>
<td class="struct_member_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
</div>
<hr>
<div class="refsect2">
<a name="xmlSecSimpleKeysStoreId"></a><h3>xmlSecSimpleKeysStoreId</h3>
<pre class="programlisting">#define xmlSecSimpleKeysStoreId         xmlSecSimpleKeysStoreGetKlass()
</pre>
<p>A simple keys store klass id.</p>
</div>
</div>
</div>
<div class="footer">
<hr>Generated by GTK-Doc V1.27</div>
</td></tr></table></td>
</tr></table></body>
</html>
